//
//  NSDate+Extension.swift
//  weibo28
//
//  Created by chushushan on 16/5/16.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit


extension NSDate {

    class func sinaData (creatAt: String) -> NSDate {
    
        let dateFormatter = NSDateFormatter()
        dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
        dateFormatter.dateFormat = "EEE MMM dd HH:mm:ss z yyyy"
        
        let createAtDate = dateFormatter.dateFromString(creatAt)!
        
        return createAtDate
    }

    /*
    
        判断是否是今年
            判断是不是今天
                判断是否1分钟内
                刚刚
                判断是否是1小时之前
                xx分钟之前
                其他
                xx小时前
            判断是否是昨天
            昨天 12:23
            其他
            05-06 12:23
        不是今年
            2014-12-03 10:27
    
    */
    
    
    var sinaDateString: String? {
        
        let dateFormatter = NSDateFormatter()
        dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
        
    //判断是否是今年
       if isThisYear(self) {
    //是今年
    //获取当前日历
        let calendar = NSCalendar.currentCalendar()
    //判断是否是今天
            if calendar.isDateInToday(self) {
    //  判断是否在1分钟之内
    //                //  获取时间差值的方式1
    //                // createAtDate.timeIntervalSinceDate(<#T##anotherDate: NSDate##NSDate#>)
    //                //  获取时间差值的方式2
    //  使用abs 或者 '-' 取正数
            let timeInterval = abs(self.timeIntervalSinceNow)
    
              if timeInterval < 60 {
    
                 return "刚刚"
              } else if timeInterval < 3600 {
    
                 let result = timeInterval / 60
                  return "\(Int(result))分钟前"
    
            } else {
    
                 let result = timeInterval / 3600
                return "\(Int(result))小时前"
    
            }
    
    
    
            } else if calendar.isDateInYesterday(self) {
    //昨天
                dateFormatter.dateFormat = "昨天 HH:mm"
    
             } else {
    //其他
                dateFormatter.dateFormat = "MM-dd HH:mm"
    
            }
    
             } else {
    //不是今年
              dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
    
            }
    
    return dateFormatter.stringFromDate(self)
    }



//根据发微博时间判断是否是今年
private func isThisYear(createAtDate: NSDate) -> Bool {
    
    //获取当前时间
    let currentDate = NSDate()
    let dateFormatter = NSDateFormatter()
    dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
    //格式化时间
    dateFormatter.dateFormat = "yyyy"
    
    //获取当前年份
    let currentYear = dateFormatter.stringFromDate(currentDate)
    //获取发微博年份
    let createAtYear = dateFormatter.stringFromDate(createAtDate)
    
    return currentYear == createAtYear
    
}



}











